/**
 * 转换成上台阶的问题
 * 可以一次上一个台阶，或者两个台阶。
 * 问第上到第六个台阶，共有多少种走法。
 */
 //0 1 1 2 3 5
int f = 0, g = 1;
//计算Fibonacci数列的第n项（迭代版）：O(n)
long fib3(int n)
{
    while(0 < n--){
        //一次遍历，g和f都往后挪一个。
        g = g + f; // 1 + 2 = 3 得出第三个元素
        f = g - f; // 3 - 1 - 2 得出第二个元素
    }
    return f;
}